package com.hck.domain.consultation.service;


import com.hck.domain.consultation.model.entity.ConsultationReplyEntity;
import com.hck.domain.consultation.model.entity.HealthConsultationEntity;
import com.hck.types.model.PageRequest;
import com.hck.types.model.PageResponse;

import java.util.List;

public interface IConsultationService {
    Long createConsultation(HealthConsultationEntity consultationEntity);

    void replyConsultation(Long consultationId, ConsultationReplyEntity replyEntity);

    HealthConsultationEntity getConsultationDetail(Long id);

    List<ConsultationReplyEntity> getReplies(Long consultationId);

    List<HealthConsultationEntity> getUserConsultations(Long userId);

    List<HealthConsultationEntity> getDoctorConsultations(Long doctorId);

    void closeConsultation(Long consultationId);
    
    /**
     * 分页查询用户咨询列表
     */
    PageResponse<HealthConsultationEntity> getUserConsultationsPage(Long userId, PageRequest pageRequest);
    
    /**
     * 分页查询医生咨询列表
     */
    PageResponse<HealthConsultationEntity> getDoctorConsultationsPage(Long doctorId, PageRequest pageRequest);
}
